<?
/*
	Для использования системы mvc необходимо подключить данный файл.
	В файле происходит:
		- создание главного объекта системы,
		- создания объекта для работы с БД,
		- создания объекта для тестирования производительности.
*/
	session_start();
	mb_internal_encoding("UTF-8");
	date_default_timezone_set("Asia/Yekaterinburg");
	setlocale(LC_ALL, array('ru_RU.UTF-8','ru_RU.utf8'));
	
	$base_path = dirname(__FILE__).'/';

	// Подключаем автоподгрузку классов.
	include_once($base_path.'includes/autoload.inc.php');
	
	// Подключаем автоподгрузку классов.
	include_once($base_path.'includes/functions.php');

	// Создаем главный класс системы.
	global $mvc;
	
	// Если класс еще не создан, то создадим его.
	if (!$mvc)
	{
		// Создаем главны й класс системы.
		$mvc = new c_mvc_util();

		// Подключаем конфиг (и загружаем в систему).
		include_once($base_path.'config.inc.php');
		
		// Пытаемся перехватить конфиг основной системы.
		include_once($base_path.'includes/assimilate_config.php');
		
		// Заполним переменные.
		$mvc->fill_class_vars($mvc);
		
		// Загружаем хуки.
		$mvc->load_hooks($mvc);
		
		// Загружаем Benchmark (тест производительности).
		$mvc->bm = new c_benchmark_util(); // TODO: -- убрать из файла по умолчанию
		
		// Добавим точку начала раобты.
		$mvc->bm->add('start');  //-- убрать из файла по умолчанию
			
		// Загружаем api для работы с базой (конфиг должен быть загружен).
		$mvc->db = new c_dbapi_util();
	
		// Модуль интернационализации (языков).
		$mvc->lang = new c_lang_util();
		
		// Модуль темизации.
		$mvc->theme = new c_theme_util();
		
		$mvc->emit('E_MVC_STARTED', 0, $mvc);
	}
?>